package com.isoft.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 航班动态状态表-存储航班状态和异常信息
 * @TableName FLIGHT_STATUS
 */
@TableName(value ="FLIGHT_STATUS")
@Data
public class FlightStatus implements Serializable {
    /**
     *
     */
    @TableId(type = IdType.AUTO)
    private Long STATUS_ID;

    /**
     *
     */
    private Long FLIGHT_ID;

    /**
     * 航班发布状态(国内/地区)
     */
    private String STAT;

    /**
     * 航班发布不正常状态(国内/地区)
     */
    private String ABST;

    /**
     * 内部航班状态(国内/地区)
     */
    private String ISTA;

    /**
     * 内部航班不正常状态(国内/地区)
     */
    private String IAST;

    /**
     * 航班发布状态2(混合航班的国际部分)
     */
    private String MSTA;

    /**
     * 内部航班状态2(混合航班的国际部分)
     */
    private String MIST;

    /**
     * 航班发布不正常状态2(混合航班国际)
     */
    private String MABS;

    /**
     * 内部航班不正常状态2(混合航班国际)
     */
    private String MIAS;

    /**
     * 航班发布不正常原因(国内/地区)
     */
    private String ABRS;

    /**
     * 内部航班不正常原因(国内/地区)
     */
    private String IARS;

    /**
     * 航班发布不正常原因2(混合航班国际)
     */
    private String MABR;

    /**
     * 内部航班不正常原因2(混合航班国际)
     */
    private String MIAR;

    /**
     * 备降航站三字码
     */
    private String APOT;

    /**
     * 备降预计起飞时间
     */
    private Date DEIT;

    /**
     * 备降实际起飞时间
     */
    private Date DRTT;

    /**
     * 备降预计降落时间
     */
    private Date DELT;

    /**
     * 备降实际降落时间
     */
    private Date DRLT;

    /**
     * VIP人数(0表示无VIP)
     */
    private Integer VIP;

    /**
     * 前站实际起飞时间
     */
    private Date PAST;

    /**
     * 第一件行李上架时间
     */
    private Date FLTD;

    /**
     * 最后一件行李上架时间
     */
    private Date LLTD;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        FlightStatus other = (FlightStatus) that;
        return (this.getSTATUS_ID() == null ? other.getSTATUS_ID() == null : this.getSTATUS_ID().equals(other.getSTATUS_ID()))
                && (this.getFLIGHT_ID() == null ? other.getFLIGHT_ID() == null : this.getFLIGHT_ID().equals(other.getFLIGHT_ID()))
                && (this.getSTAT() == null ? other.getSTAT() == null : this.getSTAT().equals(other.getSTAT()))
                && (this.getABST() == null ? other.getABST() == null : this.getABST().equals(other.getABST()))
                && (this.getISTA() == null ? other.getISTA() == null : this.getISTA().equals(other.getISTA()))
                && (this.getIAST() == null ? other.getIAST() == null : this.getIAST().equals(other.getIAST()))
                && (this.getMSTA() == null ? other.getMSTA() == null : this.getMSTA().equals(other.getMSTA()))
                && (this.getMIST() == null ? other.getMIST() == null : this.getMIST().equals(other.getMIST()))
                && (this.getMABS() == null ? other.getMABS() == null : this.getMABS().equals(other.getMABS()))
                && (this.getMIAS() == null ? other.getMIAS() == null : this.getMIAS().equals(other.getMIAS()))
                && (this.getABRS() == null ? other.getABRS() == null : this.getABRS().equals(other.getABRS()))
                && (this.getIARS() == null ? other.getIARS() == null : this.getIARS().equals(other.getIARS()))
                && (this.getMABR() == null ? other.getMABR() == null : this.getMABR().equals(other.getMABR()))
                && (this.getMIAR() == null ? other.getMIAR() == null : this.getMIAR().equals(other.getMIAR()))
                && (this.getAPOT() == null ? other.getAPOT() == null : this.getAPOT().equals(other.getAPOT()))
                && (this.getDEIT() == null ? other.getDEIT() == null : this.getDEIT().equals(other.getDEIT()))
                && (this.getDRTT() == null ? other.getDRTT() == null : this.getDRTT().equals(other.getDRTT()))
                && (this.getDELT() == null ? other.getDELT() == null : this.getDELT().equals(other.getDELT()))
                && (this.getDRLT() == null ? other.getDRLT() == null : this.getDRLT().equals(other.getDRLT()))
                && (this.getVIP() == null ? other.getVIP() == null : this.getVIP().equals(other.getVIP()))
                && (this.getPAST() == null ? other.getPAST() == null : this.getPAST().equals(other.getPAST()))
                && (this.getFLTD() == null ? other.getFLTD() == null : this.getFLTD().equals(other.getFLTD()))
                && (this.getLLTD() == null ? other.getLLTD() == null : this.getLLTD().equals(other.getLLTD()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getSTATUS_ID() == null) ? 0 : getSTATUS_ID().hashCode());
        result = prime * result + ((getFLIGHT_ID() == null) ? 0 : getFLIGHT_ID().hashCode());
        result = prime * result + ((getSTAT() == null) ? 0 : getSTAT().hashCode());
        result = prime * result + ((getABST() == null) ? 0 : getABST().hashCode());
        result = prime * result + ((getISTA() == null) ? 0 : getISTA().hashCode());
        result = prime * result + ((getIAST() == null) ? 0 : getIAST().hashCode());
        result = prime * result + ((getMSTA() == null) ? 0 : getMSTA().hashCode());
        result = prime * result + ((getMIST() == null) ? 0 : getMIST().hashCode());
        result = prime * result + ((getMABS() == null) ? 0 : getMABS().hashCode());
        result = prime * result + ((getMIAS() == null) ? 0 : getMIAS().hashCode());
        result = prime * result + ((getABRS() == null) ? 0 : getABRS().hashCode());
        result = prime * result + ((getIARS() == null) ? 0 : getIARS().hashCode());
        result = prime * result + ((getMABR() == null) ? 0 : getMABR().hashCode());
        result = prime * result + ((getMIAR() == null) ? 0 : getMIAR().hashCode());
        result = prime * result + ((getAPOT() == null) ? 0 : getAPOT().hashCode());
        result = prime * result + ((getDEIT() == null) ? 0 : getDEIT().hashCode());
        result = prime * result + ((getDRTT() == null) ? 0 : getDRTT().hashCode());
        result = prime * result + ((getDELT() == null) ? 0 : getDELT().hashCode());
        result = prime * result + ((getDRLT() == null) ? 0 : getDRLT().hashCode());
        result = prime * result + ((getVIP() == null) ? 0 : getVIP().hashCode());
        result = prime * result + ((getPAST() == null) ? 0 : getPAST().hashCode());
        result = prime * result + ((getFLTD() == null) ? 0 : getFLTD().hashCode());
        result = prime * result + ((getLLTD() == null) ? 0 : getLLTD().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", STATUS_ID=").append(STATUS_ID);
        sb.append(", FLIGHT_ID=").append(FLIGHT_ID);
        sb.append(", STAT=").append(STAT);
        sb.append(", ABST=").append(ABST);
        sb.append(", ISTA=").append(ISTA);
        sb.append(", IAST=").append(IAST);
        sb.append(", MSTA=").append(MSTA);
        sb.append(", MIST=").append(MIST);
        sb.append(", MABS=").append(MABS);
        sb.append(", MIAS=").append(MIAS);
        sb.append(", ABRS=").append(ABRS);
        sb.append(", IARS=").append(IARS);
        sb.append(", MABR=").append(MABR);
        sb.append(", MIAR=").append(MIAR);
        sb.append(", APOT=").append(APOT);
        sb.append(", DEIT=").append(DEIT);
        sb.append(", DRTT=").append(DRTT);
        sb.append(", DELT=").append(DELT);
        sb.append(", DRLT=").append(DRLT);
        sb.append(", VIP=").append(VIP);
        sb.append(", PAST=").append(PAST);
        sb.append(", FLTD=").append(FLTD);
        sb.append(", LLTD=").append(LLTD);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}